import 'package:flutter/material.dart';

class CustomDialog extends Dialog {
  const CustomDialog({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Material(
      type: MaterialType.transparency, //设置遮罩层半透明
      child: Center(
          //Center拉满屏幕
          child: Container(
        //居中屏幕，白色弹窗
        width: 300,
        // height: 200,
        color: Colors.white,
        child: Column(
          //Column宽度为弹窗宽度
          mainAxisSize: MainAxisSize.min,
          children: [
            Stack(
              //Stack宽度为Column宽度，即弹窗宽度。子组件按照书写的顺序从上到下，在屏幕上从低到高堆叠
              children: [//水平方向由Text组件撑起
                //居中显示文字
                const Align(
                  alignment: Alignment.center,
                  child: Text('提示'),
                ),
                //居右显示文字（层级高于前面的组件）
                Align(
                    alignment: Alignment.centerRight,
                    child: InkWell(
                      //用于给其他没有点击事件的组件，添加点击事件
                      child: const Icon(Icons.close),
                      onTap: () {
                        Navigator.of(context).pop();
                      },
                    ))
              ],
            ),
            Container(
              width: double.infinity,//宽度无限，但是会被Colum约束为等于弹窗宽度
              child: const Text('弹窗弹窗内容弹窗内容弹窗内容弹窗内容弹窗内容弹窗内容内容'),
              padding:const EdgeInsets.all(20),
            )
          ],
        ),
      )),
    );
  }
}
